package com.mce.nebula.repository;

import com.mce.nebula.entity.Enterprise;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

/**
 * 企业信息Repository
 */
@Repository
public interface EnterpriseRepository extends JpaRepository<Enterprise, String> {
    
    /**
     * 根据企业ID查找企业
     */
    Optional<Enterprise> findByEnterpriseId(String enterpriseId);
    
    /**
     * 根据企业别名查找企业
     */
    Optional<Enterprise> findByEnterpriseAlias(String enterpriseAlias);
    
    /**
     * 根据企业名称查找企业
     */
    Optional<Enterprise> findByEnterpriseName(String enterpriseName);
    
    /**
     * 检查企业别名是否存在
     */
    boolean existsByEnterpriseAlias(String enterpriseAlias);
    
    /**
     * 检查企业ID是否存在
     */
    boolean existsByEnterpriseId(String enterpriseId);
    
    /**
     * 检查企业名称是否存在
     */
    boolean existsByEnterpriseName(String enterpriseName);
    
    /**
     * 根据企业ID列表查找企业
     */
    List<Enterprise> findByEnterpriseIdIn(List<String> enterpriseIds);
}